import { ApartmentReleaseStatus } from '@/enums/constEnums';
import http from '@/utils/http'
import { UploadFile } from 'element-plus';
/**
 * 公寓分页列表api,
 * 步骤：
    * 自定义请求参数类型
    * 自定义返回值类型
    * 自定义分页数据结构
    * 定义api
    * 
 * 
 */

// 分页数据结构
interface PageResData<T>{
    record:T[];
    current?:number;
    size?:number;
    total:number;
}
//分页查询公寓列表的请求参数
interface ApartmentListQueryParamsData{
    current:number|string;
    size:number|string;
    proviceId?:number|string;
    cityId?:number|string;
    districtId?:number|string;
}
//公寓基本信息和详情数据
interface ApartmentData {
    id?: number | string
    name: string
    introduction: string
    districtId: number | string
    districtName?: string
    cityId: number | string
    cityName?: string
    provinceId: number | string
    provinceName?: string
    addressDetail: string
    latitude?: number | string
    longitude?: number | string
    phone: string
    isRelease?: string | number
    totalRoomCount?: number
    freeRoomCount?: number
    // 	公寓配套id
    facilityInfoIds?: number[]
    // 	公寓配套信息
    facilityInfoList?: []
    // 	公寓标签id
    labelIds?: number[]
    // 公寓标签信息
    labelInfoList?: []
    // // 	公寓杂费值id
    feeValueIds?: number[]
    // // 	公寓杂费值信息
    feeValueVoList?: []
    // 图片信息 上传和修改详情的图片详情不同
    graphVoList?:
      {
          url: string
          name: number
      }[]
      | UploadFile[]
  }

  /**
   * 分页获取公寓信息api
   */
  let getApartmentList=(queryParams:ApartmentListQueryParamsData)=>{
    return http.get<PageResData<ApartmentData>>("/admin/apartment/pageItem",queryParams)
  }
  /* 根据id删除公寓 */
  let removeApartmentById=(id:number|string)=>{
    return http.delete(`/admin/apartment/removeById?id=${id}`);
  }

// 导出
export {
    type PageResData,
    type ApartmentListQueryParamsData,
    type ApartmentData,
    getApartmentList,
    removeApartmentById
}